package com.dai.rpc.register.zookeeper;

import com.dai.rpc.register.ServiceRegistry;
import com.dai.rpc.util.CuratorUtils;
import org.apache.curator.framework.CuratorFramework;

import java.net.InetSocketAddress;

public class ZKServiceRegistry implements ServiceRegistry {


    /**
     * 注册服务到注册中心
     *
     * @param rpcServiceName 完整的服务名称（group + class name + version）
     * @param inetSocketAddress
     */
    @Override
    public void registerService(String rpcServiceName, InetSocketAddress inetSocketAddress) {
        // 注册服务到服务中心
        String servicePath = CuratorUtils.ZK_REGISTER_ROOT_PATH + "/" + rpcServiceName + inetSocketAddress.toString();
        // 连接 zookeeper 客户端
        CuratorFramework zkClient = CuratorUtils.getZkClient();
        // 创建永久节点
        CuratorUtils.createPersistentNode(zkClient, servicePath);
    }
}
